package com.czd.support.model;

import com.czd.base.model.Page;
import org.apache.ibatis.type.Alias;

import java.util.Date;

@Alias("room")
public class Room extends Page {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 4318129943911483915L;
	
	/**
	 * 主键 ID
	 */
	private int id;
	/**
	 * 房间名称
	 */
	private String name;
	/**
	 * 创建人ID
	 */
	private int createdBy;
	/**
	 * 创建时间
	 */
	private Date createdTime;
	/**
	 * 更新人ID
	 */
	private int updatedBy;
	/**
	 * 更新时间
	 */
	private Date updatedTime;
	/**
	 * 房间图片
	 */
	private String image;
	/**
	 * 房间类型 0：直播，非0：转播，转播房间ID
	 */
	private int type;
	/**
	 * 房间分类
	 */
	private String category;
	/**
	 * 节目表
	 */
	private String schedule;
	/**
	 * 房间可见性 0：全部可见，1：游客不可见
	 */
	private int visible;
	/**
	 * 房间扩展属性编号
	 */
	private int propertyId;
	/**
	 * 房间状态
	 */
	private int status;
	/**
	 * 点播的视频地址，url
	 */
	private String recordUrl;
	/**
	 * 转播的房间ID
	 */
	private Integer relayRoomId;
	/**
	 * 房间的当前有直播权限的人，就是摄像头显示的人，默认为房间创建人
	 */
	private Integer liveUser;
    /**
     * 房间开启状态，默认开启
     */
    private boolean enable;
	/**
	 * 内部推广的房间
	 */
	private boolean internal;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getCreatedBy() {
		return createdBy;
	}
	public void setCreatedBy(int createdBy) {
		this.createdBy = createdBy;
	}
	public Date getCreatedTime() {
		return createdTime;
	}
	public void setCreatedTime(Date createdTime) {
		this.createdTime = createdTime;
	}
	public int getUpdatedBy() {
		return updatedBy;
	}
	public void setUpdatedBy(int updatedBy) {
		this.updatedBy = updatedBy;
	}
	public Date getUpdatedTime() {
		return updatedTime;
	}
	public void setUpdatedTime(Date updatedTime) {
		this.updatedTime = updatedTime;
	}
	public String getImage() {
		return image;
	}
	public void setImage(String image) {
		this.image = image;
	}
	public int getType() {
		return type;
	}
	public void setType(int type) {
		this.type = type;
	}
	public String getCategory() {
		return category;
	}
	public void setCategory(String category) {
		this.category = category;
	}
	public String getSchedule() {
		return schedule;
	}
	public void setSchedule(String schedule) {
		this.schedule = schedule;
	}
	public int getVisible() {
		return visible;
	}
	public void setVisible(int visible) {
		this.visible = visible;
	}
	public int getPropertyId() {
		return propertyId;
	}
	public void setPropertyId(int propertyId) {
		this.propertyId = propertyId;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	/**
	 * 获得 recordUrl String
	 * @return recordUrl
	 */
	public String getRecordUrl() {
		return recordUrl;
	}
	/**
	 * 设置 recordUrl
	 * @param recordUrl 
	 */
	public void setRecordUrl(String recordUrl) {
		this.recordUrl = recordUrl;
	}
	/**
	 * 获得 relayRoomId Integer
	 * @return relayRoomId
	 */
	public Integer getRelayRoomId() {
		return relayRoomId;
	}
	/**
	 * 设置 relayRoomId
	 * @param relayRoomId 
	 */
	public void setRelayRoomId(Integer relayRoomId) {
		this.relayRoomId = relayRoomId;
	}
	/**
	 * 获得 liveUser Integer
	 * @return liveUser
	 */
	public Integer getLiveUser() {
		return liveUser;
	}
	/**
	 * 设置 liveUser
	 * @param liveUser 
	 */
	public void setLiveUser(Integer liveUser) {
		this.liveUser = liveUser;
	}

    /**
     * 获取 房间开启状态，默认开启
     * @return 房间开启状态，默认开启
     */
    public boolean isEnable() {
        return enable;
    }

    /**
     * 设置 房间开启状态，默认开启
     * @param enable 房间开启状态，默认开启
     */
    public void setEnable(boolean enable) {
        this.enable = enable;
    }

	/**
	 * 获取 内部推广的房间
	 * @return 内部推广的房间
	 */
	public boolean isInternal() {
		return internal;
	}

	/**
	 * 设置 内部推广的房间
	 * @param internal 内部推广的房间
	 */
	public void setInternal(boolean internal) {
		this.internal = internal;
	}

	/*
			 * @see java.lang.Object#toString()
			 */
	@Override
	public String toString() {
		return "Room [id=" + id + ", name=" + name + ", createdBy=" + createdBy
				+ ", createdTime=" + createdTime + ", updatedBy=" + updatedBy
				+ ", updatedTime=" + updatedTime + ", image=" + image
				+ ", type=" + type + ", category=" + category + ", schedule="
				+ schedule + ", visible=" + visible + ", propertyId="
				+ propertyId + ", status=" + status + ", recordUrl="
				+ recordUrl + ", relayRoomId=" + relayRoomId + ", liveUser="
				+ liveUser + "]";
	}
}
